package org.ens.delegation.bo;

import java.util.Date;

import javax.persistence.*;

/**
 * @author amine
 *
 */
@Entity
@Table(name="historique")
public class Historique implements IBusinessObject<Integer>{

	private Integer id;
	private String typeOperation;
	private String content;
	private Date dateMiseAjour;
	private Utilisateur utilisateur;
	
	@Override
	@Id
	@Column(name="code_hist")
	public Integer getId() {
		return id;
	}

	@Override
	public void setId(Integer pk) {
		id = pk;
	}

	@Column(name="type_operation")
	public String getTypeOperation() {
		return typeOperation;
	}

	public void setTypeOperation(String typeOperation) {
		this.typeOperation = typeOperation;
	}

	@Column(name="content")
	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	@Column(name="date_mise_a_jour")
        @Temporal(javax.persistence.TemporalType.DATE)
	public Date getDateMiseAjour() {
		return dateMiseAjour;
	}

	public void setDateMiseAjour(Date dateMiseAjour) {
		this.dateMiseAjour = dateMiseAjour;
	}

	@ManyToOne
	@JoinColumn(name="utilisateur")
	public Utilisateur getUtilisateur() {
		return utilisateur;
	}

	public void setUtilisateur(Utilisateur utilisateur) {
		this.utilisateur = utilisateur;
	}

	@Override
	public boolean equals(Object obj) {
		if(obj == null || !(obj instanceof Historique))
			return false;
		Historique historique = (Historique) obj;
		if(historique.getId() == null)
			return false;
	
		return historique.getId().equals(this.getId());
	}
	
}
